package com.jsyso.weixin.utils;

import java.util.Arrays;

import com.jsyso.jsyso.lang.JStringUtils;
import com.jsyso.jsyso.util.DigestUtils;

/**
 * 微信认证工具类
 * @author janjan, xujian_jason@163.com
 *
 */
public class SignatureUtils {

    /**
     * 微信认证
     * @param signature 微信加密签名
     * @param timestamp 时间戳
     * @param nonce 随机字符串
     * @return {boolean}
     */
    public static boolean checkSignature(String token, String signature, String timestamp, String nonce) {
    	if(JStringUtils.hasBlank(token, signature, timestamp, nonce)) {
    		return false;
    	}
        String array[] = {token, timestamp, nonce};
        Arrays.sort(array);
        String tempStr = new StringBuilder().append(array[0] + array[1] + array[2]).toString();
        tempStr = DigestUtils.sha1(tempStr);
        return tempStr.equalsIgnoreCase(signature);
    }
}



